package JVM.chapter02;

/**
 * 1. 初始化阶段，就是 "执行该类的构造器方法" <clinit>() 方法；
 * 2. 构造器的方法在 指令集中时顺序执行的
 * 3. <clinit>() 方法不同于类的构造器，若该类 extends 父类，
 *    则会先执行 父类中的<clinit>()方法
 */
public class ClinitTest {
    static class Father{
        public static int A = 3;
        static{
            A = 4;
        }
    }

    static class Son extends  Father{
        public static int B = A;
    }

    public static void main(String[] args) {
        System.out.println(Son.B);
    }
}
